Skip to content

Conversation

@RalfJung
Copy link
Member

I am not sure why I made it "unstable" in f755f4c; I think at the time "forbidden" did not work for some reason.

Making it "forbidden" instead has no significant effect on -Ctarget-feature use, it just changes the warning. It does have the effect that one cannot query this using cfg(target_feature) on nightly any more, but that seems fine to me. It only ever worked as an accidental side-effect of f755f4c anyway.

r? @workingjubilee

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 18, 2026
@rustbot
Copy link
Collaborator

rustbot commented Jan 18, 2026

workingjubilee is currently at their maximum review capacity.
They may take a while to respond.

@workingjubilee
Copy link
Member

yesteryear's Ralf said:

Making this "forbidden" just leads to duplicate warnings so there's little point in doing that.

This makes riscv's forced-atomics the only remaining "forbidden" feature.

@RalfJung
Copy link
Member Author

🤔

Hm, there is also the cfg part that I apparently missed back then.

@workingjubilee
Copy link
Member

It does have the effect that one cannot query this using cfg(target_feature) on nightly any more, but that seems fine to me. It only ever worked as an accidental side-effect of f755f4c anyway.

I don't mind breaking this, but that's a subtle change that nothing currently detects. Could we have a test?

@workingjubilee
Copy link
Member

I'm getting high "yeah this is roughly what we want" vibes from the way Jubilee was talking in that PR, so I think I definitely evaluated the diff, and was thinking about target.rustc_abi, but I probably wasn't deeply interrogating it to "beyond this, what might we also want?" Even if I did, I probably would have only filed followup issues.

So Ralf Junger could have just been subtly wrong (or right in a way that quickly changed) and Jubilee Younger could have just been kinda vibing on that point since it didn't seem terribly important. As I noted previously, it's affecting nightly-only stuff, so everyone bought the ticket on the ride they're going to get taken on if they depended on this detail, especially given it was previously Forbidden.

@workingjubilee
Copy link
Member

workingjubilee commented Jan 20, 2026

Ohhh, maybe the "duplicate warnings" was for both setting "+soft-float" at all and mismatch with rustc_abi? That was definitely a thing that was possible, but was effectively a transient state (people should have fixed the mismatch by now) and I think we got a bit stricter on what we accept in the target.json when we moved to a Serde-based deserialization. So now I think we can assume people have both configured or not-configured as appropriate, and so just shrug and be double-noisy.

@RalfJung
Copy link
Member Author

Fair point, I will add a test.

Ohhh, maybe the "duplicate warnings" was for both setting "+soft-float" at all and mismatch with rustc_abi? That was definitely a thing that was possible, but was effectively a transient state (people should have fixed the mismatch by now) and I think we got a bit stricter on what we accept in the target.json when we moved to a Serde-based deserialization. So now I think we can assume people have both configured or not-configured as appropriate, and so just shrug and be double-noisy.

"Forbidden" still allows the feature to be set in target specs, so I don't think it was this.

@rust-log-analyzer

This comment has been minimized.

@workingjubilee
Copy link
Member

cool. Let's hope we at least figure out what we were thinking about when we wind up revisiting this for some reason in 2027. :^)

@bors r+ rollup

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 24, 2026

📌 Commit fdc7cfd has been approved by workingjubilee

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 24, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jan 25, 2026
…jubilee

x86 soft-float feature: mark it as forbidden rather than unstable

I am not sure why I made it "unstable" in rust-lang@f755f4c; I think at the time "forbidden" did not work for some reason.

Making it "forbidden" instead has no significant effect on `-Ctarget-feature` use, it just changes the warning. It *does* have the effect that one cannot query this using `cfg(target_feature)` on nightly any more, but that seems fine to me. It only ever worked as an accidental side-effect of f755f4c anyway.

r? @workingjubilee
rust-bors bot pushed a commit that referenced this pull request Jan 25, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #145393 (Add codegen test for removing trailing zeroes from `NonZero`)
 - #148764 (ptr_aligment_type: add more APIs)
 - #149869 (std: avoid tearing `dbg!` prints)
 - #150065 (add CSE optimization tests for iterating over slice)
 - #150842 (Fix(lib/win/thread): Ensure `Sleep`'s usage passes over the requested duration under Win7)
 - #151505 (Various refactors to the proc_macro bridge)
 - #151560 (relnotes: fix 1.93's `as_mut_array` methods)
 - #151611 (Improve is_ascii performance on x86_64 with explicit SSE2 intrinsics)
 - #151317 (x86 soft-float feature: mark it as forbidden rather than unstable)
 - #151577 (Rename `DepKindStruct` to `DepKindVTable`)
 - #151620 (Fix 'the the' typo in library/core/src/array/iter.rs)
rust-bors bot pushed a commit that referenced this pull request Jan 25, 2026
Rollup of 10 pull requests

Successful merges:

 - #145393 (Add codegen test for removing trailing zeroes from `NonZero`)
 - #148764 (ptr_aligment_type: add more APIs)
 - #149869 (std: avoid tearing `dbg!` prints)
 - #150065 (add CSE optimization tests for iterating over slice)
 - #150842 (Fix(lib/win/thread): Ensure `Sleep`'s usage passes over the requested duration under Win7)
 - #151505 (Various refactors to the proc_macro bridge)
 - #151560 (relnotes: fix 1.93's `as_mut_array` methods)
 - #151317 (x86 soft-float feature: mark it as forbidden rather than unstable)
 - #151577 (Rename `DepKindStruct` to `DepKindVTable`)
 - #151620 (Fix 'the the' typo in library/core/src/array/iter.rs)
@rust-bors rust-bors bot merged commit 17ba7f2 into rust-lang:main Jan 25, 2026
11 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Jan 25, 2026
rust-timer added a commit that referenced this pull request Jan 25, 2026
Rollup merge of #151317 - RalfJung:x86-soft-float, r=workingjubilee

x86 soft-float feature: mark it as forbidden rather than unstable

I am not sure why I made it "unstable" in f755f4c; I think at the time "forbidden" did not work for some reason.

Making it "forbidden" instead has no significant effect on `-Ctarget-feature` use, it just changes the warning. It *does* have the effect that one cannot query this using `cfg(target_feature)` on nightly any more, but that seems fine to me. It only ever worked as an accidental side-effect of f755f4c anyway.

r? @workingjubilee
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jan 26, 2026
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#145393 (Add codegen test for removing trailing zeroes from `NonZero`)
 - rust-lang/rust#148764 (ptr_aligment_type: add more APIs)
 - rust-lang/rust#149869 (std: avoid tearing `dbg!` prints)
 - rust-lang/rust#150065 (add CSE optimization tests for iterating over slice)
 - rust-lang/rust#150842 (Fix(lib/win/thread): Ensure `Sleep`'s usage passes over the requested duration under Win7)
 - rust-lang/rust#151505 (Various refactors to the proc_macro bridge)
 - rust-lang/rust#151560 (relnotes: fix 1.93's `as_mut_array` methods)
 - rust-lang/rust#151317 (x86 soft-float feature: mark it as forbidden rather than unstable)
 - rust-lang/rust#151577 (Rename `DepKindStruct` to `DepKindVTable`)
 - rust-lang/rust#151620 (Fix 'the the' typo in library/core/src/array/iter.rs)
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request Jan 27, 2026
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#145393 (Add codegen test for removing trailing zeroes from `NonZero`)
 - rust-lang/rust#148764 (ptr_aligment_type: add more APIs)
 - rust-lang/rust#149869 (std: avoid tearing `dbg!` prints)
 - rust-lang/rust#150065 (add CSE optimization tests for iterating over slice)
 - rust-lang/rust#150842 (Fix(lib/win/thread): Ensure `Sleep`'s usage passes over the requested duration under Win7)
 - rust-lang/rust#151505 (Various refactors to the proc_macro bridge)
 - rust-lang/rust#151560 (relnotes: fix 1.93's `as_mut_array` methods)
 - rust-lang/rust#151317 (x86 soft-float feature: mark it as forbidden rather than unstable)
 - rust-lang/rust#151577 (Rename `DepKindStruct` to `DepKindVTable`)
 - rust-lang/rust#151620 (Fix 'the the' typo in library/core/src/array/iter.rs)
@RalfJung RalfJung deleted the x86-soft-float branch January 28, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants